package com.ctshk.rpc.order.localfun.dto;

import com.ctshk.common.utils.anno.ColumnMapping;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;


/**
 * <p>
 * 订单中心 - 景点门票列表
 * </p>
 *
 * @author 陈雷
 * @since 2021-03-08
 */
@Data
@ApiModel(value="订单中心景点门票列表DTO", description="订单中心景点门票列表DTO")
public class LocalFunOrderDTO implements Serializable {
    private static final long serialVersionUID = -6883304685096296110L;

    @ApiModelProperty(value = "id")
    private Long id;

    @ApiModelProperty(value = "销售单号")
    private String orderNumber;

    @ApiModelProperty(value = "产品类型 1 API产品  2 人工录入 3 外挂单")
    private Integer productType;

    @ApiModelProperty(value = "玩乐产品名称")
    private String funName;

    @ApiModelProperty(value = "城市")
    private String cityName;

    @ApiModelProperty(value = "景点")
    private String name;

    @ApiModelProperty(value = "订单金额")
    private BigDecimal orderAmount;

    @ApiModelProperty(value = "付款状态 1  待付款  2 已付款  3 已取消")
    private Integer paymentStatus;

    @ApiModelProperty(value = "付款状态")
    @ColumnMapping(fieldId = "paymentStatus",mapping = {"1","待付款","2","已付款","3","已取消"})
    private String paymentStatusDesc;

    @ApiModelProperty(value = "预订状态 4 待确认 5 确认取消 6 确认预订")
    private Integer scheduledStatus;

    @ApiModelProperty(value = "预订状态")
    @ColumnMapping(fieldId = "scheduledStatus",mapping = {"1","待確認","2","確認預訂","3","確認取消"})
    private String scheduledStatusDesc;

    @ApiModelProperty(value = "取消状态")
    private Integer cancelStatus;

    @ApiModelProperty(value = "付款状态")
    @ColumnMapping(fieldId = "cancelStatus",mapping = {"1","审批中","2","审批通过","3","审批不通过","4","退款成功"})
    private String cancelStatusDesc;

    @ApiModelProperty(value = "联络人")
    private String contactName;

    @ApiModelProperty(value = "订单来源")
    private Integer source;

    @ApiModelProperty(value = "订单来源")
    @ColumnMapping(fieldId = "source",mapping = {"1","雲平台","2","雲平台-代理下單","3","PC-中旅網","4","APP-中旅Android","5","APP-中旅iOS","6","中旅H5","7","TMC-中旅差旅"})
    private String sourceDesc;

    @ApiModelProperty(value = "销售")
    private String salesmanName;

    @ApiModelProperty(value = "创建时间")
    private LocalDateTime gmtCreate;

    @ApiModelProperty(value = "使用时间")
    private LocalDateTime useDate;

    @ApiModelProperty(value = "产品城市ID")
    private Long productCityId;

    @ApiModelProperty(value = "产品城市名称")
    private String productCityName;

    @ApiModelProperty(value = "产品类型")
    private Long productFunType;

    @ApiModelProperty(value = "产品分类名称")
    private String productFunName;

    @ApiModelProperty(value = "产品名称")
    private String productName;
}
